Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Zadar Challenger Chisinau Challenger Wimbledon - London U.S. Open - New York Hangzhou Open - Hangzhou Shanghai Rolex Masters - Shanghai Rolex Paris Masters - Paris European Open - Brussels Italy F14 Italy F26 Italy F25 Italy F28 Spain F35 Spain F37 Spain F38 Spain F39 Guatemala F1 Costa Rica F1 Italy F3 Italy F4 Italy F10 Bosnia & Herzegovina F2 Tunisia F1 Tunisia F3 Italy F17 Georgia F1 Georgia F2 Panama F1 Italy F25 Italy F26 Croatia F8 Italy F27 Bosnia/Herzegovina F6 Turkey F13 Bosnia/Herzegovina F1 Bosnia & Herzegovina F2 Italy F7 Italy F12 Italy F13 Italy F14 Italy F17 Italy F19 Italy F22 Italy F25 Italy F26 Italy F27 Italy F28 Italy F29 Turkey F12 Croatia F7 Turkey F13 Croatia F8 Turkey F14 Turkey F15 Spain F40 Israel F3 Spain F4 Spain F5 Spain F6 Croatia F1 Croatia F2 Spain F7 Spain F8 Spain F9 Spain F10 Italy F6 Italy F7 Bosnia & Herzegovina F2 Bosnia & Herzegovina F3 Italy F11 Bosnia & Herzegovina F5 Italy F13 Serbia F1 Serbia F2 Serbia F3 Germany F9 Germany F10 Italy F23 Serbia F7 Croatia F7 Austria F8 Croatia F8 Italy F26 Croatia F9 Italy F30 Croatia F12 Croatia F13 Croatia F14 Turkey F32 Turkey F33 Turkey F34 Turkey F35 Turkey F3 Egypt F1 Turkey F4 Egypt F2 Croatia F1 Spain F5 Spain F6 Italy F1 Turkey F12 Italy F2 Turkey F13 Turkey F14 Spain F8 Spain F10 Bosnia & Herzegovina F1 Bosnia & Herzegovina F2 Spain F11 Bosnia & Herzegovina F3 Spain F12 Bosnia & Herzegovina F5 Spain F14 Turkey F23 Turkey F24 Turkey F25 Italy F20 Croatia F11 Turkey F41 Croatia F12 Turkey F42 Turkey F46 Turkey F47 Turkey F48 Turkey F49 Turkey F2 Croatia F1 Croatia F2 Turkey F7 Turkey F8 Turkey F9 Turkey F10 Turkey F11 Turkey F12 Italy F1 Italy F5 Spain F10 Spain F15 Bosnia & Herzegovina F4 Serbia F3 Croatia F12 Spain F4 Spain F5 Turkey F43 Turkey F44 Spain F1 Spain F2 Spain F3 Spain F4 Tunisia F9 Tunisia F10 Tunisia F11 Italy F20 Italy F23 France F23 Great Britain F10 Italy F6 France F4 Romania F4 Italy F13 Italy F16 Czech Republic F4 France F13 Serbia F7 Portugal F12 Kazakhstan F1 (Aktobe) Kazakhstan F2 (Aktobe) Tunisia F9 (Hammamet) Italy F5 (Santa Margherita Di Pula) Italy F6 (Santa Margherita Di Pula) Italy F7 (Santa Margherita Di Pula) Italy F28 (Trieste) Italy F33 (Santa Margherita Di Pula) Italy F34 (Santa Margherita Di Pula) Italy F35 (Santa Margherita Di Pula) Greece F8 (Heraklion) Spain F2 (Manacor (Mallorca)) Spain F3 (Paguera (Mallorca)) Italy F2 (Santa Margherita Di Pula) Italy F3 (Santa Margherita Di Pula) Italy F5 (Santa Margherita Di Pula) Italy F7 (Santa Margherita Di Pula) Spain F9 (Madrid) Spain F13 Italy F28 Bulgaria F1 Tunisia F2 Italy F23 Italy F22 Italy F20 Italy F24 Sarajevo Challenger Napoli Challenger Croatia F10 Spain F9 Todi Challenger M25 Sabadell Orbetello Challenger Recanati Challenger Todi Challenger Ljubljana Challenger M25 Gijon M25 Vic Casablanca Challenger M25 Bourg-en-Bresse M25 Mataro M25 Gandia Blumenau Challenger M25 Denia Milan Challenger Recanati Challenger San Marino Challenger Cordenons Challenger M25 Cordoba Segovia Challenger Como Challenger M25 Sabadell Brasov Challenger Trnava Challenger Lermontov Challenger M25 Sabadell Prostejov Challenger Furth Challenger M25 Badalona Kosice Challenger Tanger Challenger Timisoara Challenger Scheveningen Challenger Poznan Challenger Tampere Challenger Liberec Challenger M25 Villeneuve-Loubet San Marino Challenger M25 Vale do Lobo Kazan Challenger Meerbusch Challenger Como Challenger Banja Luka Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Casablanca Challenger Irving Challenger Panama City Challenger Barranquilla Challenger Mersin Challenger Ostrava Challenger San Benedetto Challenger Meerbusch Challenger Seville Challenger Kenitra Challenger Geneva Challenger Morelos Challenger Irving Challenger Vicenza Challenger Milan Challenger Marburg Challenger Todi Challenger San Benedetto Challenger Alphen Challenger Rome Challenger Mohammedia Challenger Rennes Challenger Guadalajara Challenger Barletta Challenger Prostejov Challenger Caltanissetta Challenger Fano Challenger Alphen Challenger Mohammedia Challenger Barletta Challenger Ostrava Challenger M25 Monastir Vicenza Challenger Lyon Challenger Blois Challenger BH Indoor Sarajevo - Sarajevo Marburg Challenger Biella Challenger Banja Luka Challenger Ostrava Challenger Milan Challenger Seville Challenger M25 Santander Montevideo Challenger Burnie Challenger M15 Madrid M25 Oviedo Vicenza Challenger Almaty Challenger Shymkent Challenger Manerbio Challenger New Haven Challenger Rome 2 Challenger Salzburg-Anif Challenger Tulln Challenger San Benedetto Challenger Zadar Challenger Napoli Challenger Casablanca Challenger Rome Challenger Casablanca Challenger Tashkent Challenger Kobe Challenger Trnava Challenger Tenerife 1 Challenger Mons Challenger Mouilleron-Le-Captif Challenger M15 San Gregorio di Catania Moscow Challenger Braunschweig Challenger Oeiras 1 Challenger Ottignies-Louvain-la-Neuve Challenger Manerbio Challenger Portoroz Challenger Trnava Challenger Zagreb Challenger Troyes Challenger Perugia Challenger San Benedetto Challenger Montemar Challenger Santo Domingo Challenger Cap Cana Challenger Como Challenger M25 Faro Meknes Challenger Prague Challenger Cortina Challenger Helsinki Challenger Casablanca Challenger Rome Challenger M25 Quinta Do Lago M25 Vic Zhangjiagang Challenger Rome Challenger Furth Challenger Braga Challenger M25 Badalona Perugia Challenger Mestre Challenger M25 Tarragona Como Challenger Genova Challenger M25 Zaragoza M25 Sabadell Prostejov Challenger San Benedetto Challenger Rome Challenger Guayaquil Challenger Como Challenger Pune Challenger M25 Mataro Manila Challenger Zadar Challenger Prague Challenger M25 Montauban Tampere Challenger Switzerland F2 Biella 5 Challenger Almaty 1 Challenger Cordenons Challenger Lille Challenger Barletta Challenger Ostrava Challenger Braunschweig Challenger Bergamo Challenger Francavilla Challenger Canberra Challenger Heilbronn Challenger Szczecin Challenger Lisbon Challenger Oeiras 2 Challenger M25 Santa Margherita di Pula Istanbul Challenger Szekesfehervar Challenger Tunis Challenger Blois Challenger Cordenons Challenger Tenerife 1 Challenger Cherbourg Challenger Cordenons Challenger Santo Domingo Challenger Todi Challenger Orleans Challenger Sibiu Challenger Bendigo Challenger Quimper Challenger Lyon Challenger Santos Challenger San Marino Challenger Meerbusch Challenger Lisbon Challenger Sao Paulo Challenger Shymkent Challenger Blois Challenger Matsuyama Challenger Cordenons Challenger Noumea Challenger Biella Challenger Noumea Challenger Launceston Challenger Pau Challenger Salzburg Challenger Shenzhen Challenger Mallorca Challenger Arad Challenger Shanghai Challenger Tunis Challenger Aix En Provence Challenger Manama Challenger Barcelona Challenger Lisbon Challenger Helsinki Challenger Recanati Challenger Sopot Challenger Aptos Challenger Szczecin Challenger Lima Challenger Maia Challenger Istanbul Challenger M25 Santa Margherita di Pula Biella 3 Challenger Rome 1 Challenger Biella 7 Challenger Nottingham 2 Challenger Almaty 2 Challenger Tulln Challenger Todi Challenger Trieste Challenger Meerbusch Challenger Prague 2 Challenger Verona Challenger Seville Challenger Bucharest Challenger Barcelona Challenger Napoli 2 Challenger Bergamo Challenger Tenerife Challenger Roanne Challenger Bratislava Challenger Helsinki Challenger Forli 5 Challenger Roseto Degli Abruzzi 1 Challenger Roseto Degli Abruzzi 2 Challenger Lille Challenger Marburg Challenger Lugano Challenger Oeiras 1 Challenger Prague 1 Challenger Mauthausen Challenger Vicenza Challenger Poznan Challenger Blois Challenger Troyes Challenger Cordenons Challenger Brest Challenger Banja Luka Challenger Toulouse Challenger Seville Challenger Istanbul Challenger Sibiu Challenger Alicante Challenger Ortisei Challenger Ortisei Challenger Yokohama Challenger Maspalomas Challenger Oeiras 1 Challenger Tenerife 2 Challenger Antalya Challenger Maia Challenger Girona Challenger Murcia Challenger Madrid Challenger Ostrava Challenger Aix En Provence Challenger Troyes Challenger Francavilla Challenger Shenzhen 2 Challenger Oeiras 2 Challenger Nottingham Challenger Ostrava Challenger Hersonissos 1 Challenger Tunis Challenger Madrid Challenger Ilkley Challenger Troyes Challenger Dobrich 2 Challenger Poznan Challenger Cordenons Challenger Zug Challenger Florence Challenger Bratislava Challenger Rome Challenger Canberra Challenger Bendigo Challenger Launceston Challenger Bergamo Challenger Tashkent Challenger Monterrey Challenger Prague Challenger Trieste Challenger Cordenons Challenger Split Challenger Barcelona Challenger Lisbon Challenger Marbella Challenger Gran Canaria 2 Challenger Split 2 Challenger Zagreb Challenger Oeiras 3 Challenger Istanbul 2 Challenger M25 Santa Margherita di Pula Sibiu Challenger Barcelona Challenger Alphen Challenger Guayaquil Challenger Brasov Challenger Bergamo Challenger Istanbul Challenger St. Brieuc Challenger Zhangjiagang Challenger Ostrava Challenger Banja Luka Challenger Samarkand Challenger Izmir Challenger Vicenza Challenger Santo Domingo Challenger Lyon Challenger Heilbronn Challenger Arad Challenger Kosice Challenger Bet-at-home Cup - Kitzbuhel Pau Challenger San Luis Potosi Challenger Winston-Salem Open - Winston-Salem Rome Challenger PBZ Zagreb Indoors - Zagreb Cherbourg Challenger Grand Prix Hassan II - Casablanca Sarajevo Challenger Geneva Open - Geneva Napoli Challenger Studena Croatia Open - Umag Memphis Open - Memphis Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Marrakech BRD Nastase Tiriac Trophy - Bucharest Winston-Salem Open - Winston-Salem Erste Bank Open - Vienna Delray Beach Open - Delray Beach Konzum Croatia Open - Umag Bet-at-home Open - Hamburg Abierto Mexicano - Los Cabos Winston-Salem Open - Winston-Salem Shenzhen Open - Shenzhen Sydney International - Sydney ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai AEGON Championships - London Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Abierto Mexicano - Los Cabos Rome Challenger If Stockholm Open - Stockholm St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Kremlin Cup - Moscow TEB BNP Paribas Istanbul Open - Istanbul Bratislava Challenger Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Erste Bank Open - Vienna BRD Nastase Tiriac Trophy - Bucharest Qatar ExxonMobil Open - Doha Astana Open - Nur-Sultan Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai Gonet Geneva Open - Geneva Las Franquesas del Valles Challenger Mallorca Championships - Mallorca St. Petersburg Open - St. Petersburg Kremlin Cup - Moscow Lima Challenger Firenze Open - Florence Qatar ExxonMobil Open - Doha Plava Laguna Croatia Open - Umag Rio Open - Rio de Janeiro Poznan Challenger Prague 3 Challenger Serbia Open - Belgrade Anytech365 Andalucia Open - Marbella Rome Challenger Todi Challenger Poznan Challenger Gijon Open - Gijon Argentina Open - Buenos Aires Prague Challenger Millennium Estoril Open - Estoril Tiriac Open - Bucharest Nordea Open - Bastad Andria Challenger Mersin Challenger Mercedes Cup - Stuttgart Boss Open - Stuttgart Genova Challenger Alphen Challenger Bunschoten Challenger Nottingham 1 Challenger Bangkok Challenger Bergamo Challenger Puebla Challenger Todi Challenger Guangzhou Challenger Sarajevo Challenger Brisbane International - Brisbane Aircel Chennai Open - Chennai Buenos Aires Challenger Open Sud de France - Montpellier Kosice Challenger Cordenons Challenger Seville Challenger Open 13 - Marseille Sibiu Challenger Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Cherbourg Challenger Budapest Challenger Cherbourg Challenger San Luis Potosi Challenger Kremlin Cup - Moscow Aircel Chennai Open - Chennai Nordea Open - Bastad Genova Challenger Erste Bank Open - Vienna BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Barcelona Challenger Rome Challenger Ostrava Challenger Porto Challenger Sibiu Challenger Vegeta Croatia Open - Umag Bet-at-home Open - Hamburg Sibiu Challenger Almaty Open - Almaty Pau Challenger Seville Challenger Todi Challenger Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Garanti Koza Sofia Open - Sofia Gran Canaria 1 Challenger Alicante Challenger Winston-Salem Open - Winston-Salem Recanati Challenger Geneva Open - Geneva Open de Nice Cote d'Azur - Nice Aegon Nottingham Open - Nottingham Prague Challenger Mestre Challenger Konzum Croatia Open - Umag Napoli Challenger Braunschweig Challenger Tel Aviv Watergen Open - Tel Aviv Erste Bank Open - Vienna Tampere Challenger Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha Bratislava Challenger Bratislava 2 Challenger Garanti Koza Sofia Open - Sofia Florence Challenger Memphis Open - Memphis New York Open - New York Forli 4 Challenger Dubai Duty Free Tennis Championships - Dubai Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Kenitra Challenger Alicante Challenger Barletta Challenger M15 Manacor Suisse Open - Gstaad St. Petersburg Open - St. Petersburg Perugia Challenger Como Challenger Nur-Sultan Challenger Erste Bank Open - Vienna Open Sud de France - Montpellier Hamburg European Open - Hamburg Vancouver Challenger Como Challenger Gazprom Hungarian Open - Budapest Oeiras 2 Challenger Brescia Challenger Open Sud de France - Montpellier Burnie Challenger Prostejov Challenger ABN AMRO World Tennis Tournament - Rotterdam Prostejov Challenger Modena Challenger Banja Luka Challenger Plava Laguna Croatia Open - Umag Marbella Challenger Millennium Estoril Open - Estoril Belgrade Challenger Geneva Open - Geneva Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Quimper Challenger Perugia Challenger Zug Challenger Split Challenger Zhuhai Open - Zhuhai Seville Challenger China Open - Beijing Targu Mures 2 Challenger Open Sud de France - Montpellier Gran Canaria Challenger Abierto Mexicano Telcel - Acapulco Open Sud de France - Montpellier Verona Challenger Tampere Challenger Liberec Challenger Rosario Challenger Santo Domingo Challenger Serbia Open - Belgrade Braga Challenger Movistar Chile Open - Santiago Plava Laguna Croatia Open - Umag Hersonissos 2 Challenger Bengaluru Challenger Delray Beach Open - Delray Beach Open 13 Provence - Marseille Prague 2 Challenger Murcia Challenger Vicenza Challenger Perugia Challenger Grand Prix Hassan II - Marrakech BMW Open - Munich bett1HULKS Championships - Cologne Pozoblanco Challenger Istanbul Challenger Prague 2 Challenger Qatar ExxonMobil Open - Doha Stockholm Open - Stockholm Bratislava 2 Challenger Tennis Napoli Open - Naples Barcelona Open Banc Sabadell - Barcelona Banja Luka Open - Banja Luka Zhuhai Open - Zhuhai Hagen Challenger Hamburg Open - Hamburg Ismaning Challenger Helsinki Challenger Danderyd Challenger Maspalomas Challenger Tenerife 2 Challenger Monastir Challenger Barletta Challenger Nottingham 2 Challenger Bonn Challenger PBZ Zagreb Indoors - Zagreb Barletta Challenger Apia International - Sydney Open Parc - Lyon Kremlin Cup - Moscow Brisbane International - Brisbane Open 13 Provence - Marseille TEB BNP Paribas Istanbul Open - Istanbul Abierto Mexicano de Tenis Mifel - Los Cabos ABN AMRO World Tennis Tournament - Rotterdam Bergamo Challenger Vilnius Challenger Manama Challenger Biella Challenger Francavilla Challenger Heilbronn Challenger Bratislava 1 Challenger Alicante Challenger Istanbul Challenger Bratislava Challenger Antalya Challenger Antalya 2 Challenger Biella 1 Challenger Porto Challenger Belgrade Open - Belgrade Shenzhen 1 Challenger Adelaide International - Adelaide Lisbon Challenger Valencia Challenger Milan Challenger Barcelona Open Banc Sabadell - Barcelona Canberra Challenger Phoenix Challenger Hellenic Championship - Athens Bordeaux Challenger BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Astana Open - Astana Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai Miami Open - Miami Miami Open - Miami Mutua Madrid Open - Madrid Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Mutua Madrid Open - Madrid Western & Southern Open - New York Aircel Chennai Open - Chennai Stockholm Open - Stockholm BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Hangzhou Open - Hangzhou Japan Open Tennis Championships - Tokyo Dubai Duty Free Tennis Championships - Dubai Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami BNP Paribas Open - Indian Wells Rogers Cup - Toronto Miami Open - Miami Western & Southern Open - Cincinnati Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Western & Southern Open - Cincinnati Monte-Carlo Rolex Masters - Monte-Carlo Shanghai Rolex Masters - Shanghai Shanghai Rolex Masters - Shanghai Miami Open - Miami National Bank Open - Toronto Cincinnati Open - Cincinnati Mutua Madrid Open - Madrid Valencia Open - Valencia Moselle Open - Metz China Open - Beijing Barcelona Open BancSabadell - Barcelona German Tennis Championships - Hamburg Rakuten Japan Open - Tokyo Qatar ExxonMobil Open - Doha Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London French Open - Paris U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York U.S. Open - New York Wimbledon - London Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Wimbledon - London U.S. Open - New York U.S. Open - New York Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Internazionali BNL d'Italia - Rome Wimbledon - London Wimbledon - London French Open - Paris BNP Paribas Masters - Paris U.S. Open - New York Bucharest Open - Bucharest Internazionali BNL d'Italia - Rome French Open - Paris Wimbledon - London U.S. Open - New York Oeiras 1 Challenger Davis Cup, Group II, 3R, DEN-BIH 3-2 Davis Cup, Group II, 2R, FIN-BIH 2-3 Davis Cup, Group II, 3R, BIH-LTU 2-3 Davis Cup, Group II, 3R, LTU-BIH 0-5 Davis Cup, Group I, 1R, BIH-POL 5-0 Porto 2 Challenger Davis Cup, Group I, 2R, SVK-BIH 2-3 Davis Cup, World Group, QR, AUS-BIH 4-0 Davis Cup, World Group I, PO, BIH-RSA 3-1 Davis Cup, Group I, 1R, PER-BIH 3-2 Davis Cup, Group II, 2R, BLR-BIH 4-1 Davis Cup, Group II, 1R, BIH-GRE 3-1 Davis Cup, World Group I, 1R, TPE-BIH 3-2 Davis Cup, Europe/Africa Group II, 2R, EST-BIH 2-3 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 French Open (juniors) Davis Cup, Group II, 1R, BIH-LUX 4-1 Wimbledon (juniors) U.S. Open (juniors) Davis Cup, Group II, 2R, BIH-MDA 1-3 Davis Cup, Group II, 1R, ZIM-BIH 1-4 Davis Cup, Group I, 1R, ECU-BIH 3-2 Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, Group I, PO, TUN-BIH 1-3 Davis Cup, Group I, 1R, BIH-MEX 3-1 Davis Cup, Group I, 1R, BIH-GER 0-4 Davis Cup, Group I, PO, BUL-BIH 1-3 Davis Cup, Group I, PO, UZB-BIH 1-3 Davis Cup, Group II, 2R, BIH-TUR 3-1 Davis Cup, Group I, 2R, BIH-NED 1-3 All Lower level tournaments Olympics - Rio de Janeiro Manacor Challenger Sofia Open - Sofia Japan Open Tennis Championships - Tokyo M25 Vale do Lobo